package cn.itcast.listener;

import cn.itcast.common.utils.MailUtil;
import com.alibaba.fastjson.JSON;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageListener;

import java.util.Map;

/**
 * 消息消费者监听器
 *  当中间件中有最新消息的时候，自动调用onMessage方法
 *  消息（邮件数据（to，subject，content））
 **/
public class MailListener implements MessageListener {

	/**
	 *  Message : 消息
	 *      body(数据)
	 */
    public void onMessage(Message message) {
        try {
        	//1.获取数据消息：byte数组
	        byte[] body = message.getBody();
	        //2.将byte数组转化为json数据, 将json转化为java对象
	        Map map = JSON.parseObject(body, Map.class);
	        //3.完成业务处理（发送邮件）
	        String to = (String) map.get("to");
	        String subject = (String) map.get("subject");
	        String content = (String) map.get("content");
	        System.out.println(to);
	        System.out.println(subject);
	        System.out.println(content);
	        MailUtil.sendMsg(to,subject,content);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
